﻿using MicropleSoft.WmsServiceLibrary.DataSets;
using MicropleSoft.WmsServiceLibrary.Domain;
using MicropleSoft.WmsServiceLibrary.Sequence;
using Microsoft.Practices.EnterpriseLibrary.Data;

namespace MicropleSoft.WmsServiceLibrary.ServiceFactory
{
    public abstract partial class AbstractServiceFactory
    {
        public abstract IDataTablePersist CreateDataTablePersist();
        public abstract ISequenceGenerator CreateSequenceGenerator();
        public abstract Database CreateDatabase();
        public abstract IDataTableWrapHandler CreateDataTableWrapHandler();
        public abstract IDataTableFieldBuilder CreateDataTableFieldBuilder();
        public abstract IDataSetPersist CreateDataSetPersist();
        public abstract IAreaService CreateAreaService();
        public abstract IAreaDetailService CreateAreaDetailService();
        public abstract IFunctionGroupService CreateFunctionGroupService();
        public abstract IFunctionListService CreateFunctionListService();
        public abstract IItemNodeService CreateItemNodeService();
        public abstract ILocationService CreateLocationService();
        public abstract ILocationTemplateService CreateLocationTemplateService();
        public abstract IMenuListService CreateMenuListService();
        public abstract IOrganizationService CreateOrganizationService();
        public abstract IPackService CreatePackService();
        public abstract IRoleService CreateRoleService();
        public abstract IRoleFunctionService CreateRoleFunctionService();
        public abstract IRoleFunctionGroupService CreateRoleFunctionGroupService();
        public abstract ISysLoginLogService CreateSysLoginLogService();
        public abstract ITranslationService CreateTranslationService();
        public abstract IUserRoleService CreateUserRoleService();
        public abstract IUserTokenListService CreateUserTokenListService();
        public abstract IUserWhService CreateUserWhService();
        public abstract IWhConfigService CreateWhConfigService();
        public abstract IWmsUserService CreateWmsUserService();
        public abstract IZoneService CreateZoneService();
        public abstract IBillClassService CreateBillClassService();
        public abstract IBillTemplateService CreateBillTemplateService();
        public abstract IBillTemplateEntryService CreateBillTemplateEntryService();
        public abstract IItemClassService CreateItemClassService();
        public abstract IItemTemplateService CreateItemTemplateService();
        public abstract IItemClassKindService CreateItemClassKindService();

        public abstract IBillingEntityService CreateBillingEntityService();
        public abstract ICarrierService CreateCarrierService();
        public abstract ICustomerService CreateCustomerService();
        public abstract IOwnerService CreateOwnerService();
        public abstract IVendorService CreateVendorService();

        public abstract IPurchaseOrderService CreatePurchaseOrderService();
        public abstract IPurchaseOrderDetailService CreatePurchaseOrderDetailService();
    }
}
